Most computer interconnects presently serve a limited number of nodes or endpoints. Larger interconnects are typically built up from packet switches such as Ethernet and Infiniband by joining one interconnect module to another in the form of trees, fat trees, and other networks of switches (known as switched fabrics) configured in a variety of different topologies.
Each switch in such a network may connect to one or more host computers and connect to one or more storage devices. In addition, there may be switch-to-switch connections and switch-to-concentrator connections. The switch-to-switch connections are typically of higher bandwidth than the switch-to-host or switch-to-storage connections to alleviate communication bottlenecks between different hosts. A concentrator, also referred to as a level-2 switch, takes input from one or more switches, forming a bridge between one or more switched fabrics and other devices such as gateways to other packet networks. At a next higher level, such switched fabrics are joined together by a level-3 switch. The flow of data in these implementations must be internally managed by global algorithms as to data paths as well as packing messages for switch-to-switch traffic and unpacking such messages for distribution to individual endpoints (host computers or storage devices).